// pages/login/login.js

import request from '../../utils/request';

Page({

  /**
   * 页面的初始数据
   */
  data: {
    phone: '',   // 手机号
    password: '', //密码
  },

  // 表单内容发生该改变的事件
  inputShijian(e) {
    // console.log(e)
    // console.log(e.detail.value)  // 把输入表单的内容打印出来，，detail.value
    // console.log(type, e.detail.value);  //  类型，输入的内容

    // let type = e.currentTarget.id;  // 根据 id 来传值
    let type = e.currentTarget.dataset.xfq  // 根据 自定义属性来传值  
    this.setData({
      [type]: e.detail.value
    })
  },

  // 点击登录按钮
  async login() {
    // 1) 收集表单数据
    let { phone, password } = this.data
    // 2) 前端验证
    /* 
       手机号验证：
          1.  内容为空
          2.  手机号格式不对
          3.  手机号格式正确，密码验证通过
     */
    if (!phone) {
      // 手机号为空，提示用户
      wx.showToast({
        title: '请输入手机号码',
        icon: 'none'
      })
      return;
    }

    // 手机号码验证的正则表达式
    let shouji = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/;
    if (shouji.test(phone)) {
      // 为 true  表明格式正确
      // console.log('手机号正确')
    } else {
      // 为 false
      wx.showToast({
        title: '请输入正确的手机号码',
        icon: 'error'
      })
      return;
    }

    // 判断密码
    if (!password) {
      wx.showToast({
        title: '密码为空',
        icon: 'none'
      })
      return;
    }

    // 3) 后端验证，发送请求
    let result = await request('/login/cellphone', { phone, password });
    if (result.code === 200) {
      //登录成功，跳转至个人页面
      wx.showToast({
        title: "登录成功",
      })
      // 把个人信息存储在本地上
      wx.setStorageSync('userInfo', JSON.stringify(result.profile))
      // 跳转到个人页面
      wx.reLaunch({
        url:'/pages/my/my'
      })
    } else if (result.code === 502) {
      wx.showToast({
        title: '密码错误',
        icon: "none"
      })
    } else if (result.code === 400) {
      wx.showToast({
        title: '手机号错误',
        icon: 'none'
      })
    } else {
      wx.showToast({
        title: "登录失败，请重新登录",
        icon: 'none'
      })
    }

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})